package com.wicket.okrpbff.biz.service.dto.common;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;
import java.util.Objects;

/**
 * @desc BffCustomResultDto
 * @使用场景
 */
@Data
public class BffCustomResultDto implements Serializable {

  /**
   * 答案值
   */
  @NotNull(message = "答案值不能为空")
  @ApiModelProperty("答案值")
  private String endValue;

  /**
   * 填空答案类型（非必填） NUMERIC:数值 TEXT:文本 DATETIME:日期 TIME:时间
   */
  @ApiModelProperty("填空答案类型（非必填）")
  private String resultType;

  /**
   * 扩展字段1（非必填）
   */
  @ApiModelProperty("扩展字段1 （非必填）")
  private String extensionField1;

  /**
   * 扩展字段2（非必填）
   */
  @ApiModelProperty("扩展字段2（非必填）")
  private String extensionField2;

  /**
   * 扩展字段3（非必填）
   */
  @ApiModelProperty("扩展字段3 （非必填）")
  private String extensionField3;

  /**
   * 扩展字段4（非必填）
   */
  @ApiModelProperty("扩展字段4（非必填）")
  private String extensionField4;

  /**
   * 答案排序
   */
  @NotNull(message = "答案排序不能为空")
  @ApiModelProperty("答案排序")
  private Long confOptionSortNum;

  /**
   * 选项关系ID
   */
  @NotNull(message = "选项关系ID 不能为空")
  @ApiModelProperty("选项关系ID ")
  private String confOptionRshipId;

  /**
   * 选项标识
   */
  @NotNull(message = "选项标识不能为空")
  @ApiModelProperty("选项标识")
  private String confOptionCode;

  /**
   * 选项名称
   */
  @NotNull(message = "选项名称不能为空")
  @ApiModelProperty("选项名称")
  private String confOptionName;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      BffCustomResultDto that = (BffCustomResultDto) o;
      return  endValue == that.endValue&&resultType == that.resultType&&extensionField1 == that.extensionField1&&extensionField2 == that.extensionField2&&extensionField3 == that.extensionField3&&extensionField4 == that.extensionField4&&confOptionSortNum == that.confOptionSortNum&&confOptionRshipId == that.confOptionRshipId&&confOptionCode == that.confOptionCode&&confOptionName == that.confOptionName;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), endValue,resultType,extensionField1,extensionField2,extensionField3,extensionField4,confOptionSortNum,confOptionRshipId,confOptionCode,confOptionName);
    }

}
